<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<link rel="stylesheet" type="text/css" href="mystyle.css" />
	<link rel="icon" href="icon.png" />
	<meta name="Author" content="Simone Armari" />
	<title>Preparazione richiesta accesso</title>
</head>
<body>

	<!-- Apro il div per la pagina e per il titolo -->
	<div id="contenitore">
		<div id="titolo">
			<p>Risultati autenticazione</p>
		
		<!--  Chiudo il div per il titolo -->
		</div>
		
		<!-- Apro il div per la visualizzazione delle informazioni -->
		<div id="informazioni">
<?php

//Per una connessione corretta al database specifico il fuso orario
date_default_timezone_set("Europe/Rome");

//Inizializzo la sessione per il passaggio delle variabili
session_start();

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * 																		 *
 * Controllo dei dati inseriti in precedenza 							 *
 * 																		 *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

//Flag per il controllo degli errori
$error = false;

//Controllo che l'utente sia stato inserito
if(isset($_POST["user"]) == " " && !$error) {
	
	//Divido l'utente in Nome e Cognome
	$stringArray = explode(".",strtolower(trim($_POST["user"])));
	$nome = ucfirst($stringArray[0]);
	$cognome = ucfirst($stringArray[1]);
	
} else {
	$error = true;
	echo "<p>Il nome utente non &egrave stato inserito</p>";
}

//Controllo che il numero documento sia stato inserito
if(isset($_POST["doc"]) == " " && !$error) {
	
	//Rimuovo eventuali spazi
	$stringArray = explode(" ",strtoupper(trim($_POST["doc"])));
	$documento = $stringArray[0] . $stringArray[1];
	
} else {
	$error = true;
	echo "<p>Il numero documento non &egrave stato inserito</p>";
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * 																		 *
 * Controllo se l'utente è già presente nel database 					 *
 * 																		 *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

//Richiedo l'utilizzo del file dove ho le mie funzioni
include ("myfunctions.php");

if(!$error) {
		
	//Interrogo il database per vedere se i valori immessi sono corretti
	$query = "SELECT `doc_code`, `id_user` FROM `user`, `document` WHERE 
		`user`.`nome` = '". $nome . "' AND `user`.`cognome` = '" . $cognome 
		. "' AND `user`.`id_user` = `document`.`id_user`";
	$result = queryExecuter($query);
	
	//Messaggio di errore se se ne sono verificati nei passi precedenti
	if(!$result) {
		$error = true;
		echo "<p>Impossibile elaborare la sua richiesta per motivi tecnici.</p>"
			. "<p>Riprovi pi&ugrave tardi o contatti l'amministratore</p>";
	} else {
		
		//Dichiaro variabili utili alla ricerca del documento in caso di omonimi
		$num = mysqli_num_rows($result);
		$i = 0;
		$autenticato = false;
		
		//Controllo i documenti considerando omonimi salvandomi il risultato
		while ($i < $num && !$autenticato) {
			$row = mysqli_fetch_row($result);
				if (strstr($row[0], $documento) != false){
					$autenticato = true;
					$documento = $row[0];
					$uid = $row[1];
			}
			$i++;
		}
		
		//Libero lo spazio utilizzato per memorizzare per il risultato
		mysqli_free_result($result);
	}
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * 																		 *
* Ricavo l'indirizzo MAC per l'invio della notifica all'amministratore	 *
* di rete																 *
* 																		 *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

if(!$error) {
	//Ricavo l'indirizzo ip tramite la variabile superglobale $_SERVER
	$ip = $_SERVER["REMOTE_ADDR"];

	//Temporaneo per test
	//$ip = "192.84.144.1";

	//Ricavo la linea in cui e' presente l'IP dalla tabella arp del server
	$arpRow = shell_exec("arp -an | grep " . $ip);

	//Divido la stringa precedente in base agli spazi ed estraggo il MAC
	$stringArray=explode(" ", $arpRow);
	$mac = $stringArray[3];

	if($mac == "") {
		$error = true;
		echo "<p>Impossibile ricavare l'indirizzo MAC</p>";
	}
}
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * 																		 *
* Controllo che l'utente esista già e mi comporto di conseguenza inviando*
* una mail, oppure facendo comparire un altro form						 *
* 																		 *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
if (!$error && $trovato) {
	
	//Inserisco i campi per un messaggio di tipo html
	$messaggio = "<html>
	<head>
		<meta name=\"Author\" content=\"Simone Armari\" />
		<meta http-equiv=\"content-type\" content=\"text/html1;
			charset=utf8\" />
		<title>Richiesta di accesso a internet</title>
	</head>
	<body style=\"font-family: Arial;
		text-align: left;
		font-size: 16px;
		background: #white;
		color: #555;
		padding: 0px 0px 0px 0px;
		margin: 0px;
		min-width: 800px;
		min-height: 230px;\">";
	
	//Inserisco il div per il contenitore nel messaggio
	$messaggio .= "<div style=\"position: relative;
		padding: 0px 0px 0px 0px;
		margin: 0px;
		width: 98.9%;\">";
	
	//Inserisco il div per il titolo nel messaggio
	$messaggio .=	"<div style=\"font-size: 19px;
		color: #769;
		background: #e3e3e3;
		border-bottom: 1px solid #6678b1;
		padding: 5px 5px;
		width: 100%;
		height: 30px;\">
	
		<p style=\"margin-left: 25px; margin-top: 5px;\">Richiesta di
			accesso a internet con riscontro</p>
	</div>";
	
	//Inserisco il div per le informazioni
	$messaggio .= "<div syle=\"position: relative;
		font-size: 16px;
		color: black;
		pading: 0px 0px;
		margin: 0px;
		top: 100px;
		width: 80%;\">
	
		<p style=\"margin-left: 10px;\">";
	
	//Inserisco le informazioni nel messaggio
	$messaggio .= "<b>" . $nome . "</b> <b>" . $cognome . "</b> ha tentato di
		effettuare l'accesso a internet con una macchina non registrata, ha
		confermato la sua identit" . utf8_decode("à") . " con il documento
		<b>" . $documento . "</b> in data <b>" . date("d/m/Y") . "</b> alle
		<b>" . date("H:i:s") . "</b>.</p>" . "<p style=\"margin-left: 10px;
		\"> Richiede quindi che il nuovo " ."indirizzo MAC <b>" . $mac .
		"</b> venga registrato a suo nome.</p>";
	
	//Inserisco il pulsante per la compilazione automatica
	$messaggio .= "<p style=\"margin-left: 30px;\">
		<script type=\"text/javascript\">function loadUrl() { 
		document.getElementById(\"ip_type\").src = 
		document.getElementById(\"sesamo.fe.infn.it\").value = 1;
		document.getElementById(\"host\").src = 
		document.getElementById(\"sesamo.fe.infn.it\").value = ". $nome . 
		$cognome . ";
		document.getElementById(\"user\").src = 
		document.getElementById(\"sesamo.fe.infn.it\").value = " . $uid . ";
		document.getElementById(\"n_mac_r\").src = 
		document.getElementById(\"sesamo.fe.infn.it\").value = " . $mac . ";
		}
		</script><input type=\"button\" value=\"Accedi\" onclick=\"loadUrl()\">
		</p>
		</div>";
	
	//Completo il messaggio
	$messaggio .= "<div style=\"position: relative;
		font-size: 12px;
		text-align: center;
		color: black;
		pading: 0px 0px;
		margin: 0px;
		top: 20px;
		margin-bottom: 50px;
		margin-left: 1%;
		width: 98.9%;\">
	
		<p style=\"border-bottom: 1px solid #6678b1;
			margin-bottom: 5px;
			font-size: 12px;
			text-align: center;\">
			Email inviata dal controllo degli indirizzi MAC,
			realizzato da Simone Armari, email: simone.armari@student.unife.it,
			cell. 3473583147.</p>
	</div>
	</div>
	</body>
	</html>";
	
	//Mi salvo eventuali errori
	$error = mailSend($messaggio);
} else {
	
	// Stampo le informazioni del caso
	echo "<p>Non &egrave stato possibile verificare la sua identit&agrave.</p>
		<p>Le vengono richieste quindi ulteriori informazioni per poter inviare 
		una richiesta di registrazione all'amministratore di rete.</p>
		<p>Le informazioni che deve inserire devono essere pi&ugrave complete 
		possibili ed &egrave possibile allegare il suo documento di 
		identit&agrave.</p>
		<p>Si ricordi che per controllare effettivamente la sua identit&agrave, 
		&egrave pregato di recarsi in stanza 204, Blocco B, Via Saragat 1.</p>
		</div>";
	
	//Salvo nella variabile superglobale le variabili della sessione
	$_SESSION["Nome"] = $nome;
	$_SESSION["Cognome"] = $cognome;
	$_SESSION["Documento"] = $documento;
	$_SESSION["Mac"] = $mac;
	
	//Stampo a video il form per l'inserimento delle informazioni supplementari
	echo "<div id=\"dati\"><form action=\"./result.php\" method=\"post\"
			enctype=\"multipart/form-data\">
		<table id=\"data-table\" summary=\"Dati personali\">
		<tr>
			<td>
			<p>Ruolo</p>
			<p><select id=\"ruolo\" size=\"20\" name=\"ruolo\" class=\"select\">
				<option value=\"2\">Dipendente INFN</option>
				<option value=\"3\">Dottorando</option>
				<option value=\"5\">Laureando</option>
				<option value=\"7\">Assegnista</option>
				<option value=\"8\">Dipendente Dipartimento</option>
				<option value=\"9\">Ospite</option>
			</select></p>
			</td>
		</tr>
		<tr>
			<td>
			<p>Responsabile (nome.cognome)</p>
			<p><input type=\"text\" size=\"20\" name=\"resp\"
				value=\"AR 6184282\" class=\"textbox\" /></p>
			</td>
		</tr>
		<tr>
			<td>
			<p><label for=\"file\">Scansione documento:</label>
			<input type=\"file\" name=\"allegato\" id=\"allegato\"</p>
			</td>
		</tr>
		<tr>
			<td>
				<p><input type=\"submit\" name=\"do\" value=\"Invia\" 
					class=\"button\" /></p>
			</td>
		</tr>
		</table>
		</form>";
}

//Completo la pagina con messaggi di default
if($error)
	echo "<p><a href=\"index.html\">Torna alla pagina precedente</a></p>";
else {
	echo "<p>Notifica inviata all'amministratore di rete con successo.</p>";
	echo "<p>Attenda che la sua richiesta venga elaborata, grazie.</p>";
}
?>

		<!-- Chiudo il div per le informazioni -->
		</div>
		
		<!-- Apro il div per la visualizzazione dei contatti -->
		<div id="contatti">
			<p>Sito realizzato da Simone Armari, 
			email: simone.armari@student.unife.it, cell. 3473583147.</p>
		
		<!-- Chiudo il div per i contatti -->
		</div>
	
	<!-- Chiudo il div contenitore -->
	</div>
</body>
</html>